import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false


//elemntui组件库,打包部署采用cdn需注释掉
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import 'element-ui/lib/theme-chalk/display.css';
Vue.use(ElementUI);
//引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
// 引入axios
import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = "http://kansuv.info:18080"

//获取localStorage数据
store.commit("getlocalStorage");
//过期验证
store.commit("setPast");
// //异步获取localStorage数据
// store.dispatch("GetlocalStorage");
// //过期验证
// store.dispatch("SetPast");

// 请求头token
axios.defaults.headers['Authorization'] = store.state.token; //store里也需要添加此条，否则第一次登陆跳转token将会未及时刷新
axios.defaults.headers.post['Content-Type'] = 'application/json';
// 请求拦截器
// axios.interceptors.request.use(
//   config => {
//     // let token = store.state.token;
//     // if (token) { // 判断是否存在token，如果存在的话，则每个http header都加上token
//     //   config.headers.token = `${token}`;
//     //   if (window.location.href.indexOf("manage") !== -1) {
//     //     config.url = config.url + "?token=" + token;
//     //   }
//     // }
//     return config;
//   },
//   err => {
//     return Promise.reject(err);
//   });
// 添加响应拦截器
axios.interceptors.response.use(
  function (res) {
    if (res.status == 403) {
      store.commit("clean");
      alert("抱歉，您的登录身份已过期或权限不足，请重新登录!")
    } else {
      return res;
    }
  },
  function (error) {
    return Promise.reject(error);
  }
);
//时间过滤器
Vue.filter('dateFormat', function (timestamp) {
  var date = new Date(timestamp);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
  var Y = date.getFullYear() + '-';
  var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  var D = date.getDate() + ' ';
  return Y + M + D;
})


new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
